package com.springboot.ssm.entity;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

/*
  将配置文件中配置的每一个属性的值,映射到这个组件中
    @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性与配置文件中相关的配置进行绑定
        prefix: 告诉SpringBoot与配置文件中哪个下面的属性进行一一的映射
        注:
            1、只有这个组件是容器中的组件,才能使用@ConfigurationProperties功能,且需要在pom文件中导入配置文件处理器,这样编写配置时就会有提示了
            2、默认从全局配置文件中获取值
    @Validated: 该类需要进行校验
    @PropertySource: 加载指定的配置文件
 */
@Component
@ConfigurationProperties(prefix = "person")
//@Validated
//@PropertySource(value = {"classpath:person.properties"})
@Data
public class Person {

    //@Email //lastName必须写成邮箱格式
    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birth;

    private Map<String,Object> maps;
    private List<Object> list;
    private Dog dog;

}
